import java.io.IOException;

class P10033 {

       private static String newLine = System.getProperty("line.separator");

       static String readLn () {
               StringBuffer buffer = new StringBuffer();
               int car = -1;

               try {
                       car = System.in.read();
                       while ((car > 0) && (car != newLine.charAt(0))) {
                               buffer.append((char)car);
                               car = System.in.read();
                       }
                       if (car == newLine.charAt(0))
                               System.in.skip(newLine.length() - 1);
               } catch (IOException e) {
                       return (null);
               }

               if ((car < 0) && (buffer.length() == 0))
                       return (null);  /* eof */
               return (buffer.toString());
       }


       public static void main(String[] args) {
               String linha = readLn();
               readLn();
               computa(linha);
       }

       private static void computa(String linha){
               int numeroDeCasos = Integer.parseInt(linha);
               for (int k = 0; k < numeroDeCasos; k++) {
                       int[] ram = carregaRAM();
                       System.out.println(contaInstrucoes(ram));
                       
                       if (k + 1 != numeroDeCasos) System.out.println();
               }
       }

       private static int[] carregaRAM() {
               int[] ram = new int[1000];
               zera(ram);
               int k = 0;
               String linha = readLn();
               while (linha != null && !linha.equals("")) {
                       ram[k] = Integer.parseInt(linha);
                       k++;
                       linha = readLn();
               }
               return ram;
       }

       private static void zera(int[] arrayInt) {
               int length = arrayInt.length;
               for (int k = 0; k < length; k++) {
                       arrayInt[k] = 0;
               }
       }

       private static int contaInstrucoes(int[] ram) {
               int[] registradores = new int[10];
               int contador = 1;
               int apontador = 0;
               while (ram[apontador] != 100) {
                       apontador = calculaApontador(ram, registradores, apontador);
                       contador++;
               }
               return contador;
       }

       private static int calculaApontador(int[] ram, int[] registradores, int apontador) {
         int instrucaoAtual = ram[apontador];
         int instrucao = instrucaoAtual / 100;
         int primeiroParametro = (instrucaoAtual % 100) / 10;
         int segundoParametro = instrucaoAtual % 10;
         switch (instrucao) {
           case 1:
             return apontador++;
           case 2:
             registradores[primeiroParametro] = segundoParametro;
             registradores[primeiroParametro] %= 1000;
             return apontador + 1;
           case 3:
             registradores[primeiroParametro] += (segundoParametro);
             registradores[primeiroParametro] %= 1000;
             return apontador + 1;
           case 4:
             registradores[primeiroParametro] *= (segundoParametro);
             registradores[primeiroParametro] %= 1000;
             return apontador + 1;
           case 5:
             registradores[primeiroParametro] = registradores[segundoParametro];
             return apontador + 1;
           case 6:
             registradores[primeiroParametro] += (registradores[segundoParametro]);
             registradores[primeiroParametro] %= 1000;
             return apontador + 1;
           case 7:
             registradores[primeiroParametro] *= (registradores[segundoParametro]);
             registradores[primeiroParametro] %= 1000;
             return apontador + 1;
           case 8:
             registradores[primeiroParametro] = ram[registradores[segundoParametro]];
             return apontador + 1;
           case 9:
             ram[registradores[segundoParametro]] = registradores[primeiroParametro];
             return apontador + 1;
           case 0:
             if (registradores[segundoParametro] == 0)
               return apontador + 1;
             else return registradores[primeiroParametro];
         }
         return apontador + 1;
       }

}